This invention relates to computer memory and data storage and, more particularly, to high speed memory used to emulate disk drive storage for paging and swap files.
To operate at maximum efficiency, computers require large quantities of storage capacity in the form of hard disk drives, which will generally be referred to as storage. Computers also require large amounts of random access memory (RAM), which will generally be referred to as memory. As programs operate, frequently used files are stored in memory for quick access. That is, programs retrieve needed files from memory instead of from the body of the disk drive. These files are commonly known as cache files, and because memory has an access time in the range of 10 nanoseconds while disk drives have access times typically no faster than 5 milliseconds, computer operation is significantly enhanced. However, the architecture of most operating systems limits the amount of usable memory to approximately 96 megabytes. Thus, providing additional memory beyond 96 megabytes does not appreciably increase performance.
When the memory required for program operation exceeds available RAM, the computer creates a virtual memory area on the storage disk. Files known as paging or swap files are exchanged between the virtual memory and the actual memory. While the convenient location of the swap files on the disk drive achieves faster access times than would be possible if the files were stored on the main body of the disk drive, system performance is reduced because of the slower disk drive access time.
In the Windows NT platform, additional memory above 96 megabytes is utilized, but many applications default to the paging files by design. Thus, system performance is also limited by the access time of the disk drive.
There is, therefore, provided in the practice of the invention a novel memory based disk emulation device, which reduces access time, to enhance system operation. The emulation device broadly includes an emulation memory device, a disk drive emulator, and a memory controller. The disk drive emulator makes the memory device appear as a disk drive unit to the computer system which has its own memory for cache files. The memory controller is operable to save the data to the emulation memory device.
In a preferred embodiment, four emulation RAM memory devices are provided, and the memory controller divides each byte of the data stream into four data sets of two bits each and saves the data sets in parallel to the memory devices. Each data set is then saved on the corresponding emulation memory device. Alternatively, the memory controller divides each byte into two data sets of four bits each if only two emulation memory devices are used. A device manager is provided, and is operable to set the number of logical drives into which the memory devices are divided. A backup power supply is operatively coupled with the memory controller to provide power to the memory controller and memory devices in the event of primary power failure.
It is further contemplated that the memory based disk emulation device will be used in a computer system having a housing which holds and protects a processor, disk drive, computer memory block, and controller. The computer system also includes a monitor and a keyboard.
It is further contemplated that the memory based disk emulation device will be used in a method for saving swap and paging files. The method includes emulating a disk drive""s structure within the memory units thus allowing the emulation memory device to appear to the computer system as an additional physical disk drive. The page and swap file data sets are then saved within the corresponding memory units. The computer system continues the normal operation of saving cache files to computer memory.
In one preferred embodiment, the paging or swap files are divided, and four emulation memory devices are provided. Each byte in the data stream is divided into four sets of two bits each. Alternatively, two emulation devices are provided and the paging or swap file bytes are divided into two data sets of four bits each. As desired, the device manager divides the emulation memory devices into one or more logical drives.
Accordingly, it is an object of the present invention to provide an improved memory based disk emulation device for decreasing swap and page file access times, thereby enhancing computer system operation.